草庐IT

Python psycopg2 游标

全部标签

android - Android SQLite 游标是否一次将所有记录加载到内存中?

AndroidSQLite游标是否将查询的所有数据加载到内存中,或者是否有某种优化策略作为其实现的一部分? 最佳答案 SQLiteCursor在您浏览它时用数据填充“窗口”。我的内存是窗口大小为1MB,但我无法向您指出支持该内存的具体代码。因此,对于小型查询,一旦您开始访问行和列,最终效果是SQLiteCursor会将整个结果集保存在内存中。 关于android-AndroidSQLite游标是否一次将所有记录加载到内存中?,我们在StackOverflow上找到一个类似的问题:

Python sqlite3游标没有属性提交

当我运行这段代码时:path='~/Scripts/wallpapers/single.png'conn=sqlite3.connect('/Users/Heaven/Library/ApplicationSupport/Dock/desktoppicture.db')cur=conn.cursor();cur.execute("insertintodatavalues('"+path+"');")cur.commit()我收到以下错误AttributeError:'sqlite3.Cursor'objecthasnoattribute'commit'我完全不知道为什么。

java - android游标如何从列中获取空值

我将所有数据作为对象存储在数据库中(例如,我使用Integer而不是int)以保留空值。如果Object为空,将数据保存到SQLite数据库时,我使用:statement.bindNull(index);当我使用SQLiteManager查看我的数据库时,似乎值已正确存储(具有空值的Long列的空字段)。但是如何从保持空信息的游标中读取值呢?如果我使用:cursor.getLong(7)对于我有null的列,我得到0而不是null。这并不奇怪,因为getLong返回long类型值,而不是Long。但是我找不到任何返回Long的函数。有什么帮助吗?当然,我还需要获取为其他对象(整数、字符

安卓:sqlite:游标:getColumnIndex

我在规范化的sqlite数据库上有一个相当复杂的查询(多个连接)。该查询执行SELECT*以启用一些自动属性选择逻辑(因此我无法消除“*”)我遇到的问题是我的结果集包含多个具有相同属性名称的列。例如,查询中每个表共有的一个属性是“_id”。当我调用"cursor.getColumnIndex("_id")"时,返回的值始终是结果集列列表中最后一个"_id"属性的索引(即不是我想要的)。我希望能够使用我的SQL别名前缀,例如cursor.getColumnIndex("A._id")但这不起作用。问题似乎cursor.getColumnIndex(AttributeName)返回最后一个

python - 我是否需要多个游标对象来遍历记录集并同时更新?

所以我有一个大型数据库,我无法立即将其保存在内存中。我必须遍历表中的每个项目,对其进行处理,然后将处理后的数据放入表中的另一列。当我在游标上循环时,如果我尝试运行更新语句,它会截断记录集(我相信是因为它正在重新调整游标对象)。问题:创建第二个游标对象来运行更新语句是否允许我继续遍历原始选择语句?我是否需要与数据库的第二个连接才能拥有第二个游标对象,这将允许我这样做?sqlite如何响应与数据库的两个连接,一个从表中读取,另一个写入表中?我的代码(简化版):importsqlite3classDataManager():"""Managesdatabase(usedbelow).Icut

java - 如何通过游标获取android中的Timestamp列值?

如何通过游标从数据库列中获取时间戳值并将其存储在androidsdk中的时间戳变量中?我正在使用java.sql.Timestamp并且sqlite数据库中的值是TIMESTAMP类型。我创建了一个将所有字段作为数据库列名的类,并希望在从数据库读取记录后创建一个新对象。 最佳答案 您必须使用Cursor方法获取字符串形式的值,然后使用Timestamp类的静态valueOf方法将其转换回正确的时间戳:Timestamp.valueOf(cursor.getString(0))我到处都在使用它,它就像一个魅力。例如,在遍历结果集时,您

c# - StackExchange.Redis IDatabase.SetScan() 没有返回游标

这是我的代码ConnectionMultiplexerplex;plex=redisConnectionProvider.GetMultiplexer();vardb=plex.GetDatabase();varvalues=db.SetScan(key);我认为SetScan的返回值将是一个IEnumerable,其中第一个元素是游标,第二个元素是来自RedisSet的一组值。但是结果只包含集合成员——没有游标值。我在这里缺少什么? 最佳答案 SetScan实际上返回一个IEnumerable.游标将由库内部处理。根据您的参数和服

c# - 如何使用带有 stackexchange.redis 库的 ZSCAN 命令获取游标和分页的结果?

我正在使用stackexchange.redis。因为zscan给出了所有匹配的值我想得到准确给定的页面大小结果和剩余值的下一个光标。Ihavedebuggeditssourcecodelibraryinthatifoundthattheyarescanningentiresourcevalueuntilcursorbecamezeroandprovidesallmatchedvalues.socouldwecangetresultaspercursorsameasrediscommandZscan.这是我的代码快照using(ConnectionMultiplexerconn=Con

redis 扫描返回空结果但非零游标

我有一个包含几百万个键的Redis数据库。有时我需要按模式查询键,例如2016-04-28:*我使用scan。第一次调用应该是scan0match2016-04-28:*然后它会返回一堆键和下一个光标,如果搜索完成则返回0。但是,如果我运行查询并且没有匹配的键,scan仍会返回非零游标,但会返回一组空键。每一个连续的查询都会发生这种情况,因此搜索似乎不会在很长时间内结束。Redis文档是这么说的SCANfamilyfunctionsdonotguaranteethatthenumberofelementsreturnedpercallareinagivenrange.Thecomman

Redis,SCAN 游标 "state management"是如何工作的?

Redis有一个SCAN命令,可用于迭代匹配模式等的键。RedisSCANdoc您首先将光标值设为0;每次调用都会返回一个新的游标值,您将其传递给下一次SCAN调用。值为0表示迭代已完成。假设不需要服务器或客户端状态(光标值除外)我想知道Redis如何实现扫描算法? 最佳答案 你可以在redis中找到答案dict.c源文件。那我就引用其中的一部分。迭代按以下方式工作:最初,您使用游标(v)值0调用该函数。2)该函数执行一步迭代,并返回您必须在下一次调用中使用的新游标值。当返回的游标为0时,迭代完成。该函数保证在迭代开始和结束之间返回